#pragma once
#include <d3d9.h>
#include <d3dx9.h>
#include <list>
#include "Vertex.h"
#include "Vect3D.h"
#include "VertBuffer.h"

class SceneNode
{
public:
	SceneNode(void);
	SceneNode(const SceneNode& rhs);
	virtual SceneNode& operator=(const SceneNode& rhs);
	virtual ~SceneNode(void);
	virtual void Update(VertBuffer* pvBuff);
	void AddChild(SceneNode* pChild);
	void Destroy();

protected:
	std::list<SceneNode*> lChildren;
	virtual void Release();
};
